<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BAction</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BAction">
			<h1>BAction</h1>
			<p>继承自<a href="BObject.html">BObject</a></p>
			<p id="resume">BAction表示一个动作，可以关联菜单或按钮。<a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"/><td><a href="#BAction()">BAction</a>();</td></tr>
				<tr><td align="right"/><td><a href="#BAction(const BString&)">BAction</a>(const BString& text);</td></tr>
				<tr><td align="right"/><td><a href="#BAction(BIcon*,const BString&)">BAction</a>(BIcon* icon, const BString& text = BString());</td></tr>
				<tr><td align="right"/><td><a href="#BAction(BImage*,const BString&)">BAction</a>(BImage* image, const BString& text = BString());</td></tr>
				<tr><td align="right"/><td><a href="#~BAction()">~BAction</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setVisible(bool)">setVisible</a>(bool visible);</td></tr>
				<tr><td align="right">bool </td><td><a href="#visible() const">visible</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setColor(BByte, BByte, BByte,BByte)">setColor</a>(BByte r, BByte g, BByte b, BByte a = 255);</td></tr>
				<tr><td align="right">void </td><td><a href="#setColor(const BColor&)">setColor</a>(const BColor& color);</td></tr>
				<tr><td align="right">const BColor&amp; </td><td><a href="#color() const">color</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setGraph(Graph)">setGraph</a>(Graph graph);</td></tr>
				<tr><td align="right">Graph </td><td><a href="#graph() const">graph</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setImage(BImage*)">setImage</a>(BImage* image);</td></tr>
				<tr><td align="right">const BImage* </td><td><a href="#image() const">image</a>() const;</td></tr>
				<tr><td align="right">BImage* </td><td><a href="#image()">image</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setIcon(BIcon*)">setIcon</a>(BIcon* icon);</td></tr>
				<tr><td align="right">const BIcon* </td><td><a href="#icon() const">icon</a>() const;</td></tr>
				<tr><td align="right">BIcon* </td><td><a href="#icon()">icon</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setText(const BString&)">setText</a>(const BString& text);</td></tr>
				<tr><td align="right">const BString&amp; </td><td><a href="#text() const">text</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setTips(const BString&)">setTips</a>(const BString& tips);</td></tr>
				<tr><td align="right">const BString&amp; </td><td><a href="#tips() const">tips</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setShortcut(const BString&,BWidget*)">setShortcut</a>(const BString& text, BWidget* widget = 0);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setShortcut(const BKeyArray&,BWidget*)">setShortcut</a>(const BKeyArray& keys, BWidget* widget = 0);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setShortcut(BShortcut*)">setShortcut</a>(BShortcut* shortcut);</td></tr>
				<tr><td align="right">BShortcut* </td><td><a href="#shortcut()">shortcut</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setCheckable(bool)">setCheckable</a>(bool checkable);</td></tr>
				<tr><td align="right">bool </td><td><a href="#checkable() const">checkable</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setChecked(bool)">setChecked</a>(bool checked);</td></tr>
				<tr><td align="right">bool </td><td><a href="#checked() const">checked</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#trigger()">trigger</a>();</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>
					BAction是行为对象，可以用于菜单的功能项，也可以与快捷键和按钮关联。
				</p><p>当行为对象放入菜单时，可指定是否显示。行为会作为菜单的项进行管理。</p><p>当行为对象与按钮关联时，两者会保持操作的同步。当按钮点击时会激发Action的Signal_Triggered信号。 </p><p>将行为作为程序中的特定功能集中管理，在需要某个操的作行为处取用特定的行为。那么整个程序的功能管理会更加清晰规范，这是值得推荐的设计方式。</p><h4>信号表：</h4>
				<table id="signals">
					<tr><td>Signal_Triggered</td><td>此信号用于行为被执行时，如菜单项被点击，或者关联按钮被点击等情况。方法trigger()可以软触发此信号。</td></tr>
					<tr><td>Signal_Checked</td><td id="debug">当此行为被执行时，且此行为是可选中状态此会触发此信号，值为是否选中状态值（bool）。</td></tr>
					<tr><td>Signal_GraphChanged</td><td>当图案被改变时发出此信号，值为图案枚举（BGraph）。</td></tr>
					<tr><td>Signal_ImageChanged</td><td>当图像被改变时发出此信号，值为图像对象（BImage)。</td></tr>
					<tr><td>Signal_IconChanged</td><td>当图标被改变时发出此信号，值为图标对象（BIcon）。</td></tr>
					<tr><td>Signal_TextChanged</td><td>当文本被改变时发出此信号，值为文本内容（BString）。</td></tr>
					<tr><td>Signal_TipsChanged</td><td>当提示语被改变时发出此信号，值为提示语内容（BString）。</td></tr>
					<tr><td>Signal_Checked</td><td>当选中状态被改变时发出此信号，值为状态值（bool）。</td></tr>
					<tr><td>Signal_Triggered</td><td>当此动作对象被触发时发出的信号，值为选中状态值 （bool）。</td></tr>
				</table>
				<p>请参阅 : </p>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BAction()">
				<h3>BAction();</h3>
				<p>构建一个动作对象。</p>
				<p>参考：快捷键（<a href="./BShortcut.html">BShortcut</a><text>）</text></p>
			</div>
			<div id="BAction(const BString&)">
				<h3>BAction(const BString&amp; text);</h3>
				<p>构建一个动作对象，text指定其文本。</p>
			</div>
			<div id="BAction(BIcon*,const BString&)">
				<h3>BAction(BIcon* icon, const BString&amp; text = BString());</h3>
				<p>构建一个动作对象，icon指定光标，text指定其文本。</p>
			</div>
			<div id="BAction(BImage*,const BString&)">
				<h3>BAction(BImage* image, const BString&amp; text = BString());</h3>
				<p>构建一个动作对象，image指定图像，text指定其文本。</p>
			</div>
			<div id="~BAction()">
				<h3>~BAction();</h3>
				<p>析构一个动作对象。</p>
			</div>
			<div id="setVisible(bool)">
				<h3>void setVisible(bool visible);</h3>
				<p>设置此动作是否可见，这属性会影响到此动作对象在菜单中是否显示。</p>
			</div>
			<div id="visible() const">
				<h3>bool visible() const;</h3>
				<p>获得此动作在菜单中是否显示。</p>
			</div>
			<div id="setColor(BByte, BByte, BByte,BByte)">
				<h3>void setColor(BByte r, BByte g, BByte b, BByte a = 255);</h3><p>设置颜色。</p>
			</div>
			<div id="setColor(const BColor&)">
				<h3>void setColor(const BColor&amp; color);</h3><p>设置颜色。</p>
			</div>
			<div id="color() const">
				<h3>const BColor&amp; color() const;</h3><p>获得颜色。</p>
			</div>
			<div id="setGraph(Graph)">
				<h3>void setGraph(Graph graph);</h3><p>设置图样。</p>
			</div>
			<div id="graph() const">
				<h3>Graph graph() const;</h3><p>获得图样。</p>
			</div>
			<div id="setImage(BImage*)">
				<h3>void setImage(BImage* image);</h3><p>设置图像。</p>
			</div>
			<div id="image() const">
				<h3>const BImage* image() const;</h3><p>获得图像。</p>
			</div>
			<div id="image()">
				<h3>BImage* image();</h3><p>获得图像。</p>
			</div>
			<div id="setIcon(BIcon*)">
				<h3>void setIcon(BIcon* icon);</h3>
				<p>设置图标。</p>
			</div>
			<div id="icon() const">
				<h3>const BIcon* icon() const;</h3><p>获得图标。</p>
			</div>
			<div id="icon()">
				<h3>BIcon* icon();</h3>
				<p>获得图标。</p>
			</div>
			<div id="setText(const BString&)">
				<h3>void setText(const BString&amp; text);</h3>
				<p>设置文本。</p>
			</div>
			<div id="text() const">
				<h3>const BString&amp; text() const;</h3><p>获得文本。</p>
			</div>
			<div id="setTips(const BString&)">
				<h3>void setTips(const BString&amp; tips);</h3><p>设置提示语。</p>
			</div>
			<div id="tips() const">
				<h3>const BString&amp; tips() const;</h3><p>设置提示语。</p>
			</div>
			<div id="setShortcut(const BString&,BWidget*)">
				<h3>bool setShortcut(const BString&amp; text, BWidget* widget = 0);</h3><p>设置快捷键，text指定按键组合，widget指定快捷键的依附控件。</p><p>参考：快捷键（<a href="BShortcut.html">BShortcut</a>）。</p>
			</div>
			<div id="setShortcut(const BKeyArray&,BWidget*)">
				<h3>bool setShortcut(const BKeyArray&amp; keys, BWidget* widget = 0);</h3><p>设置快捷键，keys指定按键组合，widget指定快捷键的依附控件。</p><p>参考：快捷键（<a href="BShortcut.html">BShortcut</a>）。</p>
			</div>
			<div id="setShortcut(BShortcut*)">
				<h3>bool setShortcut(BShortcut* shortcut);</h3><p>取得快捷键对象。</p>
			</div>
			<div id="shortcut()">
				<h3>BShortcut* shortcut();</h3><p>取得快捷键对象。</p>
			</div>
			<div id="setCheckable(bool)">
				<h3>void setCheckable(bool checkable);</h3>
				<p>设置是否开启选择模式。</p>
			</div>
			<div id="checkable() const">
				<h3>bool checkable() const;</h3>
				<p>获得此行为是否是开启选择模式。</p>
			</div>
			<div id="setChecked(bool)">
				<h3>void setChecked(bool checked);</h3>
				<p>设置此行为当前是否为选中状态。</p>
			</div>
			<div id="checked() const">
				<h3>bool checked() const;</h3>
				<p>获得当前是否为选中状态。</p>
			</div>
			<div id="trigger()">
				<h3>void trigger();</h3>
				<p>逻辑切换状态，发出信号：Signal_Triggered。</p>
			</div>
		</div>
	</body>
</html>